package com.untour.im.codec.protocol.packet.request.header;

import com.untour.im.codec.protocol.serialize.SerializerAlgorithm;
import lombok.Data;

@Data
public class RequestPacketHeader {

    /**
     * 消息操作指令 十六进制 一个消息的开始通常以0x开头
     * 4字节
     */
    private byte command;
    /**
     * 版本号
     * 4字节
     */
    private Integer version;
    /**
     * 端类型
     * 4字节
     * @see com.untour.im.common.enums.ClientType
     */
    private Integer clientType;
    /**
     * 应用ID
     * 4字节
     */
    private Integer appId;
    /**
     * 数据解析类型 和具体业务无关，后续根据解析类型解析data数据
     * @see SerializerAlgorithm
     * 4字节
     */
    private byte messageType = SerializerAlgorithm.JSON;

    /**
     * imel长度
     * 4字节
     */
    private Integer imeiLength;

    /**
     * 请求包体长度
     * 4字节
     */
    private int length;

    /**
     * imei号
     */
    private String imei;
}
